/**
 * 
 */
package com.jeesuite.bestpl.api;

import com.jeesuite.bestpl.dto.User;
import com.jeesuite.bestpl.dto.request.OpenIdBindRequest;
import com.jeesuite.bestpl.dto.request.RegisterRequest;
import com.jeesuite.bestpl.dto.request.UpdatePasswordRequest;
import com.jeesuite.bestpl.dto.request.UpdateUserRequest;
import com.jeesuite.bestpl.exception.UserNoExistException;

/**
 * @description <br>
 * @author <a href="mailto:vakinge@gmail.com">vakin</a>
 * @date 2016年10月25日
 */
public interface IUserService {
	
	User register(RegisterRequest request);
	
	User registerByOpenId(OpenIdBindRequest request);
	
	User login(String loginName,String password);

	User getUser(Integer userId) throws UserNoExistException;
	
	void updateUserInfo(UpdateUserRequest request);
	
	void removeUser(Integer userId) throws UserNoExistException;
	
	void updatePassword(UpdatePasswordRequest request);
	
	void bindOpenId(OpenIdBindRequest request);
	
	void unbindOpenId(int userId,int openId);
}
